package com.zenchn.service;


import com.zenchn.entity.MenuVO;
import com.zenchn.generic.GenericService;
import com.zenchn.model.TSysAuthority;
import com.zenchn.model.TSysAuthorityExample;
import com.zenchn.entity.TSysAuthorityVO;

import java.util.List;


/**
 * AuthorityService：权限 业务接口
 *
 * @author dingxinfa
 * @date 2020-04-16 10:22
 */
public interface AuthorityService extends GenericService<TSysAuthority, String, TSysAuthorityExample> {


    
    /**
     *    全级联权限信息
     * 
     * @return
     */
    List<TSysAuthorityVO> selectCascadeAuthList();
    
    /**
     * 全级联 查询 上级权限路径
     * @param authId
     * @return
     */
    String findFullCascadeParentName(String authId);
    
    /**
     * 全级联 查询 上级权限信息
     * @param authId
     * @return
     */
    List<TSysAuthority> findFullCascade(String authId);


    /**
     * 查询整合菜单树
     * @param oauthClientId     权限所属客户端ID
     * @param authIdList   权限ID全集
     * @return
     */
    List<MenuVO>  getMenuList(String oauthClientId, List<String> authIdList);


    /***
     * 验证权限标识唯一性
     * @param authId
     * @param authSign
     * @return
     */
    Boolean  verifyAuthSign(String authId, String authSign);

}
